// 对axios进行二次封装
// 最终达到的效果
// 配置基础路径和超时限制
// 添加进度条信息  nprogress
// 返回的响应不再需要从data属性当中拿数据，而是响应就是我们要的数据
// 统一处理请求错误, 具体请求也可以选择处理或不处理

import axios from "axios";
import NProgress from "nprogress"
import "nprogress/nprogress.css"


const service = axios.create({
    baseURL: "/api", // 设置基础路径
    timeout: 20000, // 设置超时时间
})

service.interceptors.request.use((config) => {
    NProgress.start();
    return config
}, (err) => {
    alert("发送失败"); // 统一处理
    // return Promise.reject(new Error(err)); // 不统一处理
})

service.interceptors.response.use((response) => {
    NProgress.done();
    return response.data
}, (err) => {
    // 统一处理错误请求
    alert("请求失败:", err.message);
    // 不统一处理
    // return Promise.reject(new Error(err))
})

export default service